import { remove_class } from '../../../global';
import {
  css_active_item,
  css_active_item_active,
} from '../../../global/element/DataDefine/sourceData';

/**
 * 将 当前 元素 标记为 选中元素
 * @param {HTMLElement} cur_node
 */
export function active_cur_node(cur_node) {
  // 添加 active item class
  remove_class(cur_node, css_active_item, true);

  requestAnimationFrame(() => {
    cur_node.setAttribute(css_active_item_active, true);
    cur_node[css_active_item_active] = true;
  });
}

/**
 * 将 当前 元素 从 选中元素 标记为 未选择 应用动画
 * @param {HTMLElement} cur_node
 */
export function disactive_cur_node(cur_node) {
  // 添加 active item class
  remove_class(cur_node, css_active_item, true);

  // 添加 active
  cur_node.setAttribute(css_active_item_active, true);

  requestAnimationFrame(() => {
    cur_node.removeAttribute(css_active_item_active);
    cur_node[css_active_item_active] = undefined;
  });
}
